package com.lgh.ibs.constants;

import java.io.File;
import java.io.IOException;

import com.lgh.ibs.constants.resources.SvnResources;

/**
 * @ClassName: ResourceFileInit 
 * @Description: 资源文件 初始化
 * @date 2016年12月23日 上午10:32:45 
 * @author guohao.li
 */
public class ResourceFileHandler {
	
	
	public synchronized static void init(){
		//初始化文件和目录
		//初始化主目录
		File homeDirFile = new File(PluginDirConfig.homeDir);
		if(!homeDirFile.exists()){
			homeDirFile.mkdirs();
			System.out.println("初始化创建目录成功 ！" + homeDirFile);
		}
		//初始化子目录
		initChildDir();
		//初始化文件
		initChildDirFile();
		
	}
	
	/**
	 * @Title: initChildDir 
	 * @Description: 初始化子目录
	 * @throws 
	 * @author guohao.li
	 * @dateTime 2016年12月23日 上午10:39:50
	 */
	private static void initChildDir(){
		createIbsDirFile(PluginDirConfig.SVNDir);
		createIbsDirFile(PluginDirConfig.LOG_WORKDIR);
	}
	
	private static void createIbsDirFile(String fileName){
		File file = new File(fileName);
		if(!file.exists()){
			file.mkdirs();
			System.out.println("初始化创建目录成功 ！" + fileName);
		}
	}
	
	private static void initChildDirFile(){
		for (SvnResources c : SvnResources.values()) {
			createIbsNewFile(c.getFileName());
		}
		
	}
	
	private static void createIbsNewFile(String fileName){
		File file = new File(fileName);
		if(!file.exists()){
			try {
				boolean result = file.createNewFile();
				if(result){
					System.out.println("初始化 创建文件成功！" + fileName);
				}
			} catch (IOException e) {
				System.out.println("ResourceFileHandler 文件目录初始化失败！");
				e.printStackTrace();
			}
		}
	}
}
